//Source file: D:\\test\\com\\ce\\pms\\charge\\model\\CollectionFileDomain.java

package com.ce.pms.charge.model;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import com.sitechasia.webx.core.model.IDomainObject;

/**
 * 实体名称:托收文件 关联数据表:FEE_COLLECTION_FILE
 */
@Entity
@Table(name = "FEE_COLLECTION_FILE")
public class CollectionFileDomain implements IDomainObject{

	/**
	 * 关键字
	 */
	@Id
	@GeneratedValue
	@Column(name = "COLLECTION_FILE_ID")
	private Long keyword;

	/**
	 * 托收银行
	 */
	@ManyToOne(cascade = {},fetch = FetchType.LAZY)
	@JoinColumn(name = "BANK_ID", nullable = false)
	private BankDomain bank;

	/**
	 * 出盘文件名称
	 */
	@Column(name = "OUT_FILE_NAME", length = 100)
	private String outFileName;

	/**
	 * 出盘时间
	 */
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "OUT_TIME")
	private Date outTime;

	/**
	 * 出盘操作人
	 */
	@Column(name = "OUT_MAN")
	private Long outMan;

	/**
	 * 回盘文件名
	 */
	@Column(name = "IN_FILE_NAME", length = 100)
	private String inFileName;

	/**
	 * 回盘时间
	 */
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "IN_TIME")
	private Date inTime;

	/**
	 * 回盘操作人
	 */
	@Column(name = "IN_MAN")
	private Long inMan;

	/**
	 * 出盘文件路径
	 */
	@Column(name = "OUT_FILE_PATH", length = 100)
	private String outFilePath;

	/**
	 * 回盘文件路径
	 */
	@Column(name = "IN_FILE_PATH", length = 100)
	private String inFilePath;

	/**
	 * 收费周期
	 */
	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "PERIOD_ID", nullable = false)
	private PeriodDomain period;

	/***
	 * 托收明细
	 */
	@OneToMany(cascade={CascadeType.ALL},fetch=FetchType.LAZY, mappedBy="collecFile")
	private Set<CollecDetail> collectionDetails = new HashSet<CollecDetail>();

	/**
	 * @roseuid 48757D130000
	 */
	public CollectionFileDomain() {

	}

	public BankDomain getBank() {
		return bank;
	}

	public void setBank(BankDomain bank) {
		this.bank = bank;
	}

	public String getInFileName() {
		return inFileName;
	}

	public void setInFileName(String inFileName) {
		this.inFileName = inFileName;
	}

	public String getInFilePath() {
		return inFilePath;
	}

	public void setInFilePath(String inFilePath) {
		this.inFilePath = inFilePath;
	}

	public Long getInMan() {
		return inMan;
	}

	public void setInMan(Long inMan) {
		this.inMan = inMan;
	}

	public Date getInTime() {
		return inTime;
	}

	public void setInTime(Date inTime) {
		this.inTime = inTime;
	}

	public Long getKeyword() {
		return keyword;
	}

	public void setKeyword(Long keyword) {
		this.keyword = keyword;
	}

	public String getOutFileName() {
		return outFileName;
	}

	public void setOutFileName(String outFileName) {
		this.outFileName = outFileName;
	}

	public String getOutFilePath() {
		return outFilePath;
	}

	public void setOutFilePath(String outFilePath) {
		this.outFilePath = outFilePath;
	}

	public Long getOutMan() {
		return outMan;
	}

	public void setOutMan(Long outMan) {
		this.outMan = outMan;
	}

	public Date getOutTime() {
		return outTime;
	}

	public void setOutTime(Date outTime) {
		this.outTime = outTime;
	}

	public PeriodDomain getPeriod() {
		return period;
	}

	public void setPeriod(PeriodDomain period) {
		this.period = period;
	}

	public Set<CollecDetail> getCollectionDetails() {
		return collectionDetails;
	}

	public void setCollectionDetails(Set<CollecDetail> collectionDetails) {
		this.collectionDetails = collectionDetails;
	}

}
